﻿
// DCMDlg.h: 头文件
//

#pragma once
#include <string>
#include "SheetPageTabCtrl.h"
#include "Page1.h"
#include "Page2.h"


using namespace std;

// CDCMDlg 对话框
class CDCMDlg : public CDialogEx
{
// 构造
public:
	CDCMDlg(CWnd* pParent = nullptr);	// 标准构造函数


	//获取任务列表配置
	void getTaskInfo();


	
	//获取游戏窗口配置
	void getGameIni();

// 对话框数据
#ifdef AFX_DESIGN_TIME
	enum { IDD = IDD_DCM_DIALOG };
#endif

	protected:
	virtual void DoDataExchange(CDataExchange* pDX);	// DDX/DDV 支持

private:
	CWinThread* m_hDMInitThread;
	static UINT CDMEngineThread(LPVOID pParam);
	CTraceServiceControl	m_TraceServiceControl;

private:
	CString m_strDMKey;
	CString m_strWorkPath;
	bool m_bRegDm;
	CString m_strCmd;
	CString m_strParam;
	
public:
	int m_checkIndex; //当前列表选中了第几行
public:
	CListCtrl m_lstWnd;

private:
	bool IsWndExist(int id);
	bool IsMLExist(int id);
	CString GetCheckList(CArray<int>& arrCheckID);

// 实现
protected:
	HICON m_hIcon;
	virtual void OnCancel();
   
	// 生成的消息映射函数
	virtual BOOL OnInitDialog();
	afx_msg void OnSysCommand(UINT nID, LPARAM lParam);
	afx_msg void OnPaint();
	afx_msg HCURSOR OnQueryDragIcon();
	DECLARE_MESSAGE_MAP()
public:
	void Start();   //开始游戏
	void Suspend(); //暂停游戏
	void Stop();    //停止游戏
	void Resume();  //恢复游戏
	string GetremoteVar(string cardnumorusername, string _token, string _testVer);
	afx_msg void OnTimer(UINT_PTR nIDEvent);
	afx_msg void OnClose();
	afx_msg LRESULT OnRestartMessage(WPARAM wParam, LPARAM lParam);
	afx_msg LRESULT OnSwitchMessage(WPARAM wParam, LPARAM lParam);
	afx_msg LRESULT OnRestartGameMessage(WPARAM wParam, LPARAM lParam);
//Tab 列表相关
public:
	CTabSheet m_tab_wnd;
	Page1 m_Page1;
	Page2 m_Page2;
	afx_msg void OnNMRClickListWnd(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void 单个启动();
	afx_msg void 单个暂停();
	afx_msg void 单个恢复();
	afx_msg void 单个停止();
	afx_msg void 单个关闭();
	afx_msg void 单个重启();
	afx_msg void OnNMDblclkListWnd(NMHDR* pNMHDR, LRESULT* pResult);
	afx_msg void OnNMClickListWnd(NMHDR* pNMHDR, LRESULT* pResult);
};
